Information providing apparatus and method, information processing apparatus and method, and program storage medium

ABSTRACT

Contents and its key are supplied in different procedures. License management program authenticates telephone-integrated terminal device and authenticates first server or second server. Server LCM controls the reception of contents and key transmission requests and of data for identifying first server or second server. If data for identifying first server are received, contents and its key are received from first server in a procedure corresponding to first server. If data for identifying second server are received, contents and its key are received from second server in a procedure corresponding to second server. Server LCM controls the transmission of contents and its key to telephone-integrated terminal device.

BACKGROUND OF THE INVENTION

The present invention relates generally to an information providingapparatus and method, an information processing apparatus and method,and a program storage medium. More particularly, the present inventionrelates to an information providing apparatus and method, an informationprocessing apparatus and method, and a program storage medium thatprovide contents and a key for decrypting it or use encrypted contents.

Referring to FIG. 1, there is shown a schematic diagram illustrating oneconfiguration of a prior-art digital data transmission system. Apersonal computer 1 is connected to a communication network 4constituted by a local area network or the Internet for example. Thepersonal computer 1 receives music data (hereafter referred to ascontents) from a contents server 22-1 or 22-2 or read from a CD (CompactDisk), compresses the received data by a predetermined compressionscheme (for example, ATRAC3 (trademark)), encrypts them by apredetermined encryption algorithm such as DES (Data EncryptionStandard), and records the resultant contents.

The personal computer 1 also records usage condition data indicative ofthe usage conditions of the recorded encrypted contents.

The usage condition data indicate the number of portable devices (alsoreferred to as PDs) which can simultaneously use the contents compliantwith the usage conditions (namely, the number of PDs that can checkoutthe contents, which will be described later), for example. When a pieceof contents has been checked out by the number of times specified by theusage conditions, the personal computer 1 can reproduce this contents.

A display operation instructing program 11 of the personal computer 1displays the data (for example, music title or usage conditions)associated with the contents recorded in the personal computer 1 andinputs a checkout instruction for example to make an LCM (LicensedCompliant Module) 12, a software module compliant with the SDMI (SecureDigital Music Initiative) standard, execute a checkout operation forexample corresponding to the instruction.

The LCM 12 of the personal computer 1 is constituted by a group ofmodules which control the use of contents only when the usage conditionsspecified by the copyright holder of individual contents are satisfied,thereby preventing the copyright infringement based on noncompliantsecondary use of the contents. The usage conditions include reproductioncondition of the contents, copy condition, move condition, andaccumulation condition.

The LCM 12 makes an authentication whether the devices connected to thepersonal computer 1 are compliant ones and executes the processing suchas a movement of contents by a safe method. Along with this processing,the LCM generates a necessary key, manages the generated key, andencrypts the contents with this key, or controls the communication withthe connected devices.

The LCM 12 also checks a loaded portable medium 3 for its validity, addsthe usage conditions specified by a server 5 to the contents(encrypted), and stores the contents in the portable medium 3.

The LCM 12 of the personal computer 1 supplies the stored encryptedcontents along with the data (for example, music title or usageconditions) associated with the contents to the a connected portabledevice 2 and accordingly updates the usage conditions (this updateoperation is hereafter referred to as a checkout). To be more specific,when a checkout is made, the permitted checkout count for the usageconditions for this contents is decremented by 1, the permitted checkoutcount being stored in the personal computer 1. When the checkout countis 0, the relevant contents cannot be checked out.

The portable device 2 stores in the loaded portable medium 3 thecontents supplied from the personal computer 1 (namely, the checked outcontents) along with the data (for example, a music title or usageconditions) associated with that contents.

The portable medium 3, incorporating a storage medium such as a flashmemory, is constructed so as to detachably fit the portable device 2.

The portable device 2 reproduces the contents stored in the portablemedium 3 on the basis of its usage conditions and outputs a reproducedsignal to a headphone for example, not shown.

For example, if the user attempts the reproduction of a certain piece ofcontents stored in the portable device 2 in excess of a reproductioncount set as a reproduction limit, the portable device 2 fails theattempt.

The user can remove the portable device 2 storing contents from thepersonal computer 1 to carry it about and reproduce the contents storedin the portable medium 3 to listen to the reproduced music for exampleby means of a headphone for example.

When the portable device 2 is connected to the personal computer 1 via aUSB cable for example, the portable device 2 and the personal computer 1cross-authenticate each other. This cross-authentication is based on achallenge-response scheme. In the challenge-response scheme, to acertain value (or a challenge) generated by the personal computer 1, theportable device 2 makes a response with a value (or a response)generated by use of a secret key shared by the personal computer 1.

A server 5-1 accumulates contents compressed and encrypted inpredetermined algorithms and distributes the accumulated contents ondemand from the personal computer 1. The server 5-1 has the capabilitiesof a key server 21-1, a contents server 22-1, and shop server 23-1.

The key server 21-1 accumulates contents keys for decrypting thecontents supplied from the contents server 22-1 to the personal computer1 and, in response to a request from the personal computer 1, supplies arelevant contents key to the personal computer 1. Before a contents keysupply operation starts, the key server 21-1 and the personal computer 1cross-authenticate each other. The key server 21-1 encrypts the contentskey with a temporary key generated by the cross-authentication and sendsthe encrypted contents key to the personal computer 1. The personalcomputer 1 decrypts the received contents key with the shared temporarykey.

Requested by the personal computer 1, the contents server 22-1 suppliesthe requested contents (encrypted) and its usage conditions to thepersonal computer 1 via a communication network 4.

The shop server 23-1 provides the digital data (including a contentslist of music titles and prices for example) associated with thecontents to be provided by the contents server 22-1 to the personalcomputer 1 and, in response to a contents purchase request from thepersonal computer 1, supplies the URL (Uniform Resource Locator) of thecontents server 22-1 that supplies the requested contents and the URL ofthe key server 21-1 that supplies a contents key for decrypting thesupplied contents to the personal computer 1.

A server 5-2 accumulates contents compressed and encrypted inpredetermined algorithms and distributes the accumulated contents ondemand from the personal computer 1. The server 5-2 has the capabilitiesof a key server 21-2, a contents server 22-2, and shop server 23-2.

The key server 21-2 accumulates contents keys for decrypting thecontents supplied from the contents server 22-2 to the personal computer1 and, in response to a request from the personal computer 1, supplies arelevant contents key to the personal computer 1. Before a contents keysupply operation starts, the key server 21-2 and the personal computer 1cross-authenticate each other. The key server 21-2 encrypts the contentskey with a temporary key generated by the cross-authentication and sendsthe encrypted contents key to the personal computer 1. The personalcomputer 1 decrypts the received contents key with the shared temporarykey.

Requested by the personal computer 1, the contents server 22-2 suppliesthe requested contents (encrypted) and its usage conditions to thepersonal computer 1 via a communication network 4.

The shop server 23-2 provides the digital data (including a contentslist of music titles and prices for example) associated with thecontents to be provided by the contents server 22-2 to the personalcomputer 1 and, in response to a contents purchase request from thepersonal computer 1, supplies the URL of the contents server 22-2 thatsupplies the requested contents and the URL of the key server 21-2 thatsupplies a contents key for decrypting the supplied contents to thepersonal computer 1.

Hereafter, if there is no need for making a distinction between theserver 5-1 and the server 5-2, they are generically referred to as aserver 5. Likewise, the key server 21-1 and the key server 21-2 aregenerically referred to as a key server 21. The contents server 22-1 andthe contents server 22-2 are generically referred to as a contentsserver 22. The shop server 23-1 and the shop server 23-2 are genericallyreferred to as a shop server 23.

The following describes a configuration of the capabilities of aprior-art digital data transmission system with reference to FIG. 2. Inaddition to the display operation instructing program 11 and the LCM 12,the personal computer 1 executes an IP (Internet Protocol) communicationprogram 13, an ISP (Internet Service Provider) connection program 14,and a PHS (Personal Handyphone System)/IMT (International MobileTelecommunication) communication program 15.

The PHS/IMT communication program 15 is for communication to be executedvia a public switched line network 31. The ISP connection program 14 isfor connection to an ISP 32. The IP communication program 13 includesprotocols such as HTTP (HyperText Transport Protocol) 74 and WAP(Wireless Access Protocol) 75 and makes communication with the keyserver 21, the contents server 22, or the shop server 23 via thecommunication network 4.

The LCM 12 consists of a license management program 51, a downloadprogram 52-1, a download program 52-2, and a format management program53.

The license management program 51 is for managing the usage of contentsunder the usage conditions of the contents and consists of a usagecondition management program 61, a CD ripping program 62, and a PDauthentication program 63.

The usage condition management program 61 controls, on the basis of theusage conditions of contents, the permission or prohibition of thecheckout of the contents stored in the personal computer 1 and updatesthe usage condition data as the contents is checked out. The CD rippingprogram 62 reads contents from a CD loaded in the personal computer 1and generates the usage conditions relevant to the read contents.

The PD authentication program 63 authenticates the portable device 2loaded in the personal computer 1.

The download program 52-1 downloads contents and its contents key fromthe server 5-1 and consists of a key management program 64, a contentsmanagement program 65, a key information receiving program 66, and acontents information receiving program 67.

The key management program 64 authenticates the key server 21-1 andreceives a contents key from the key server 21-1 to manage the receivedcontents key in association with the contents. The key managementprogram 64 consists of a server authentication program 71 and areceiving program 72.

The server authentication program 71 authenticates the key server 21-1as will be described. The receiving program 72 receives a contents keyfrom the key server 21-1 via the communication network 4.

The contents management program 65 receives contents and its usagecondition data from the contents server 22-1 via the communicationnetwork 4 and record the received contents and its usage condition data.A receiving program 73 of the contents management program 65 receivesthe contents and its usage condition data from the contents server 22-1.

The key information receiving program 66 receives the URL of the keyserver 21-1 which supplies a contents key relevant to a desired piece ofcontents from the shop server 23-1. The contents information receivingprogram 67 receives, from the shop server 23-1, the contents ID for thecontents requested by the user and the URL for identifying the contentsserver 22-1 that supplies the requested contents.

The download program 52-2 downloads contents and its contents key fromthe server 5-2 and is the same in configuration as the download program52-1, its description being skipped.

The format management program 53 converts the coding algorithm andencryption algorithm of the contents downloaded from the contents server22-1 or 22-2 into predetermined algorithms and encrypts the contentsread from a CD by a predetermined algorithm. The format managementprogram 53 consists of a system identification program 68 and a formatconversion program 69.

The system identification program 68 identifies whether contents isdownloaded from the server 5-1 or the server 5-2. The format conversionprogram 69 converts the encoding algorithm and encryption algorithm ofthe contents.

The portable device 2 executes a license management program 81, a keymanagement program 82, and a contents management program 83.

The license management program 81 consists of a usage conditionmanagement program 91 for managing contents reproduction count on thebasis of the usage conditions of the contents, a PC authenticationprogram 92 for authenticating the personal computer 1, and a PMauthentication program 93 for authenticating the portable medium 3.

The key management program 82 encrypts the contents key supplied fromthe personal computer 1 with a storage key stored in the portable medium3 in advance and manages the encrypted contents key as stored in theportable medium 3.

The contents management program 83 manages the contents sent from thepersonal computer 1 as stored in the portable medium 3.

The portable medium 3 executes a license management program 101, a keymanagement program 102, and a contents management program 103.

The license management program 101 has a PD authentication program 111for authenticating the portable device 2 and stores the usage conditiondata of the contents, controlling the reading for example of thecontents on the basis of the usage condition data. The key managementprogram 102 encrypts the contents key supplied from the portable device2 with the storage key stored in advance to manage the encryptedcontents key. The contents management program 103 stores the contentssupplied from the portable device 2 to manage the supplied contents.

The shop server 23-1 executes a key information sending program 121, acontents information sending program 122, a contents-access program 123,and an IP communication program 124.

The key information sending program 121 sends the URL of the key server21-1 that supplies the contents key relevant to the contents requestedby the user of the personal computer 1 to the personal computer 1 viathe communication network 4.

The contents information sending program 122 sends the URL of thecontents server 22-1 that supplies the contents requested by the user ofthe personal computer 1 to the personal computer 1 via the communicationnetwork 4.

The browsing program 123 consists of a viewing program 131 by which theuser of the personal computer 1 can view and listen to the contents anda search program 132 by which the user of the personal computer 1 cansearch for desired pieces of contents.

The IP communication program 124 includes protocols such as HTTP 133 andWAP 134 for example and communicates with the personal computer 1 viathe communication network 4.

The key server 21-1 executes an authentication program 151, a keydistribution program 152, a key storage program 153, a key generationprogram 154, and an IP communication program 155.

The authentication program 151 authenticates the personal computer 1 forexample. The key distribution program 152 distributes contents keysstored in the key storage program 153 to the authenticated personalcomputer 1. The key storage program 153 stores contents keys generatedby the key generation program 154. The key generation program 154generates contents keys in association with particular pieces ofcontents.

The IP communication program 155 includes protocols such as HTTP 171 andWAP 172 to communicate with the personal computer 1 for example via thecommunication network 4.

The contents server 22-1 executes a contents storage program 191, acontents distribution program 192, and an IP communication program 193.

The contents storage program 191 stores the encrypted contents inassociation with contents IDs. The contents distribution program 191distributes, upon request from the personal computer 1, the contentscorresponding to the contents ID stored in the contents storage program191 to the personal computer 1.

The IP communication program 193 includes protocols such as HTTP 201 andWAP 202 to communicate with the personal computer 1 via thecommunication network 4.

The shop server 23-2 is generally the same in configuration as the shopserver 23-1 and therefore its description will be skipped. The keyserver 21-2 is generally the same in configuration as the key server 211and therefore its description will be skipped. The contents server 22-2is generally the same in configuration as the contents server 22-1 andtherefore its description will be skipped.

The following describes the prior-art processing in which the personalcomputer 1 downloads contents from the server 5-1 and checks out thedownloaded contents to the portable device 2, with reference to theflowcharts shown in FIGS. 3 and 4. In step S101, the PHS/IMTcommunication program 15 of the personal computer 1 establishes aconnection with the public switched line network 31. In step S201, aground station for example, not shown, in the public switched linenetwork 31 establishes a connection with the personal computer 1.

In step S102, the ISP connection program 14 of the personal computer 1establishes a connection with the ISP 32. In step S301, the ISP 32establishes a connection with the personal computer 1.

In step S103, the IP communication program 13 of the personal computer 1establishes an IP communication with the shop server 23. In step S401,the IP communication program 124 of the shop server 23-1 establishes anIP communication with the personal computer 1.

In step S402, the contents-access program 123 of the shop server 23-1sends the digital data for browsing (for contents selection) to thepersonal computer 1 via the communication network 4. In step S104, abrowser program, not shown, of the personal computer 1 displays theimage or text corresponding to the received digital data for browsing bythe user. The browser program of the personal computer 1 also hascapabilities of allowing the user to test-view the downloaded contentsin a stream reproduction manner and the contents-access program 123 ofthe shop server 23-1 to search for a particular piece of contents bykeyword to display the search results. The processes of steps S402 andS104 are repeated in accordance with the request by the user of thepersonal computer 1.

In step S105, the browser program of the personal computer 1 sends apurchase request to the shop server 23-1. In step S403, thecontents-access program 123 of the shop server 23-1 receives thepurchase request from the personal computer 1.

In step S404, the contents information sending program 122 of the shopserver 23-1 sends, to the personal computer 1 via the network 4, thecontents information including the URL of the contents server 22-1 thatdistributes the contents specified in the purchase request received instep S403. In step S106, the contents information receiving program 67of the personal computer 1 receives the contents information from theshop server 23-1.

In step S405, the key information sending program 121 of the shop server23-1 sends, to the personal computer 1 via the network 4, the keyinformation such as the URL of the key server 21-1 that distributes thecontents key of the contents specified in the purchase request receivedin step S403. In step S107, the key information receiving program 66 ofthe personal computer 1 receives the key information from the shopserver 23-1.

In step S108, the IP communication program 13 of the personal computer 1establishes an IP communication with the contents server 22-1 by use ofthe URL of the contents server 22-1 included in the contents informationobtained in step S106. In step S501, the IP communication program 193 ofthe contents server 22-1 establishes an IP connection with the personalcomputer 1.

In step S109, the contents management program 65 of the personalcomputer 1 sends the contents ID obtained in step 5106 to the contentsserver 22-1 via the communication network 4. In step S502, the contentsserver 22-1 receives the contents ID from the personal computer 1. Instep S503, the contents distribution program 192 of the contents server22-1 reads the contents (encrypted) corresponding to the contents IDreceived in step S502 from the contents storage program 191 anddistributes the contents to the personal computer 1 via thecommunication network 4. In step S110, the receiving program 73 of thecontents management program 65 of the personal computer 1 receives thecontents from the contents server 22-1.

In step S111, the IP communication program 13 of the personal computer 1establishes an IP communication with the key server 21-1 on the basis ofthe URL of the key server 21-1 contained in the key information obtainedin step S107. In step S601, the IP communication program 155 of the keyserver 21-1 establishes an IP communication with the personal computer1.

In step S112, the server authentication program 71 of the key managementprogram 64 of the personal computer 1 authenticates the key server 21-1.In step S602, the authentication program 151 of the key server 21-1authenticates the personal computer 1.

The key server 21-1 stores a master key KMS in advance and the personalcomputer 1 stores a private key KPP and the ID of the personal computer1 in advance. The personal computer also stores a master key KMP inadvance and the key server 21-1 also stores its ID and private key KPSin advance.

The key server 21-1 receives the ID of the personal computer 1 from thepersonal computer 1 and applies a hash function to the received ID andthe master key KMS of the key server 21-1 to generate a same key as theprivate key KPP of the personal computer 1.

The personal computer 1 receives the ID of the key server 21-1 from thekey server 21-1 and applies a hash function to the received ID and themaster key KMP of the personal computer 1 to generate a same key as theprivate key KPS of the key server 21-1. Consequently, the common privatekey is shared between the personal computer 1 and the key server 21-1.By use of these private keys, a temporary key is generated.

In step S113, the key management program 64 of the personal computer 1sends a contents ID to the key server 21-1. In step S603, the key server21-1 receives the contents ID from the personal computer 1. In stepS604, the key distribution program 152 of the key server 21-1 reads thecontents key stored in the key storage program 153 in association withthe contents ID and sends this contents key (encrypted by the temporarykey) to the personal computer 1. In step S114, the receiving program 72of the key management program 64 of the personal computer 1 receives thecontents key from the key server 21-1. The key management program 64decrypts the received contents key with the temporary key.

In step S115, the PHS/IMT communication program 15 of the personalcomputer 1 disconnects the communication with the public switched linenetwork 31. In step S202, the ground station, not shown, of the publicswitched line network 31 disconnects the communication with the personalcomputer 1.

In step S116, the format management program 53 converts the codingalgorithm and encryption algorithm of the contents received in step S110into predetermined algorithms.

When the user of the personal computer 1 instructs the display operationinstructing program 11 to check out the received contents, the processesof steps S117 and the subsequent processes are executed.

In step S117, the PD authentication program 63 of the license managementprogram 51 of the personal computer 1 authenticates the portable device2. In step S701, the PC authentication program 92 of the licensemanagement program 81 of the portable device 2 authenticates thepersonal computer 1.

The cross-authentication processes between the personal computer 1 andthe portable device 2 in step S117 and step S701 is based on achallenge-response scheme. As compared with the cross-authenticationbetween the key server 21-1 and the personal computer 1 in step S112 andstep S602, the challenge response scheme needs less computational load.The personal computer 1 and the portable device 2 each generate atemporary key from the response by a same computational operation andshare the generated temporary key.

In step S118, the contents management program 65 of the personalcomputer 1 distributes the encrypted contents to the portable device 2.In step S702, the contents management program 83 of the portable device2 receives the contents from the personal computer 1 and supplies thereceived contents to the contents management program 103 of the portablemedium 3. The contents management program 103 of the portable medium 3stores the received contents.

It should be noted that the portable device 2 and the portable medium 3cross-authenticate with other when the portable medium 3 is loaded inthe portable device 2.

In step S119, the key management program 64 of the personal computer 1distributes the contents key (encrypted with the temporary key sharedbetween the portable device 2 and the portable medium 3) correspondingto the contents distributed in step S118 to the portable device 2. Instep S703, the key management program 82 of the portable device 2receives the contents key from the personal computer 1 and supplies thereceived contents key to the key management program 102 of the portablemedium 3. The key management program 102 of the portable medium 3decrypts the received contents key and stores the decrypted contentskey.

The following describes the processing in which the personal computer 1downloads contents from the server 52 and checks out the downloadedcontents to the portable device 2, with reference to the flowchartsshown in FIGS. 5 and 6. The processes of steps S1101 through S1107 areexecuted by the server 5-2, the IP communication program 13, the ISPconnection program 14, the PHS/IMT communication program 15, and thedownload program 52-2 and these processes are generally the same as theprocesses of steps S101 through S107, so that their descriptions will beskipped.

In step S1108, the IP communication program 13 of the personal computer1 establishes an IP communication with the key server 21-2 on the basisof the URL of the key server 21-2 contained in the key informationobtained in step S1107. In step S1601, the key server 21-2 establishesan IP communication with the personal computer 1.

In step S1109, the download program 52-2 of the personal computer 1authenticates the key server 21-2. In step S1602, the key server 21-2authenticates the personal computer 1. The processes of steps S1109 andS1602 are the same as those of steps S112 and S602.

In step S1110, the download program 52-2 of the personal computer 1sends a contents ID to the key server 21-2. In step S1603, the keyserver 21-2 receives the contents ID from the personal computer 1. Instep S1604, the key server 21-2 reads the contents key stored inassociation with the contents ID and sends the contents key (encryptedby the temporary key) to the personal computer 1 via the communicationnetwork 4. In step S1111, the download program 52-2 of the personalcomputer 1 receives the contents key from the key server 21-2. Thedownload program 52-2 decrypts the received contents key with thetemporary key.

In step S1112, the IP communication program 13 of the personal computer1 establishes an IP communication with the contents server 22-2 on thebasis of the URL of the contents server 22-2 contained in the contentsinformation obtained in step S1106. In step S1501, the contents server22-2 establishes an IP communication with the personal computer 1.

In step S1113, the download program 52-2 of the personal computer 1sends the contents ID obtained in step S1106 to the contents server 22-2via the communication network 4. In step S1502, the contents server 22-2receives the contents ID supplied from the personal computer 1. In stepS1503, the contents server 22-2 reads the contents (encrypted)corresponding to the contents ID received in step S1502 and distributesthe contents to the personal computer 1 via the communication network 4.In step S1114, the download program 52-2 of the personal computer 1receives the contents distributed from the contents server 22-2.

The processes of steps S1115 through S1703 are the same as those ofsteps S115 through S703 and therefore their descriptions will beskipped.

As described, the server 5-1 and the server 5-2 that supply contents andcontents keys have different procedures for supplying contents andcontents keys. Therefore, the reception of contents from the server 5-1and the server 5-2 requires different download programs 52-1 and 52-2which correspond to the server 5-1 and the server 5-2 respectively.

SUMMARY OF THE INVENTION

However, if a device that receives contents from these servers is notenough in processing capability, namely, if the device has a lowcomputing power or a small storage capacity, the device cannot storeplural download programs and therefore cannot execute them by switching.

It is therefore an object of the present invention to allow deviceshaving only a small processing capability to receive contents andcontents keys which are supplied in different procedures.

In carrying out the invention and according to one aspect thereof, thereis provided an information providing apparatus comprising: a firstauthentication means for authenticating a first information processingunit; a second authentication means for authenticating a secondinformation processing unit or a third information processing unit; areception control means for controlling the reception of a request tosend contents and a key and data for identifying the second informationprocessing unit or data for identifying the third information processingunit, the request and the data being supplied from the first informationprocessing unit; a communication control means for controlling, if thedata for identifying the second information processing unit arereceived, the transmission of the request to send the contents and thekey to the second information processing unit in a procedurecorresponding to the second information processing unit, and, if thecontents and the key are received and the data for identifying the thirdinformation processing unit are received from the second informationprocessing unit, the transmission of the request to send the contentsand the key to the third information processing unit and the receptionof the contents and the key from the third information processing unitin a procedure corresponding to the third information processing unit;and a transmission control means for controlling the transmission of thecontents and the key to the first information processing unit.

The above-mentioned information providing apparatus further comprising:a conversion means for converting at least one of a encoding scheme andan encryption scheme in which the contents is encoded and encrypted intoone of a predetermined encoding scheme and a predetermined encryptionscheme.

In the above-mentioned information providing apparatus, the firstinformation processing unit is a portable electronic device forreproducing the contents and the second information processing unit andthe third information processing unit are servers each including acontents server and a key server and each having a different procedurein which contents and its key are supplied.

The above-mentioned information providing apparatus further comprising aserver licensed compliant module which is constituted as a proxy server.

In carrying out the invention and according to a second aspect thereof,there is provided an information providing method comprising the stepsof: authenticating a first information processing unit; authenticating asecond information processing unit or a third information processingunit; controlling the reception of a request to send contents and a keyand data for identifying the second information processing unit or datafor identifying the third information processing unit, the request andthe data being supplied from the first information processing unit;controlling, if the data for identifying the second informationprocessing unit are received, the transmission of the request to sendthe contents and the key to the second information processing unit in aprocedure corresponding to the second information processing unit, and,if the contents and the key are received and the data for identifyingthe third information processing unit are received from the secondinformation processing unit, the transmission of the request to send thecontents and the key to the third information processing unit and thereception of the contents and the key from the third informationprocessing unit in a procedure corresponding to the third informationprocessing unit; and controlling the transmission of the contents andthe key to the first information processing unit.

The above-mentioned information providing method further comprising thestep of: converting at least one of a encoding scheme and an encryptionscheme in which the contents is encoded and encrypted into one of apredetermined encoding scheme and a predetermined encryption scheme.

In the above-mentioned information providing method, the firstinformation processing unit is a portable electronic device forreproducing the contents and the second information processing unit andthe third information processing unit are servers each including acontents server and a key server and each having a different procedurein which contents and its key are supplied.

In the above-mentioned information providing method, the method isexecuted by a proxy server including a server licensed compliant module.

In carrying out the invention and according to still another aspectthereof, there is provided a program storage medium storing acomputer-readable program comprising the steps of: authenticating afirst information processing unit; authenticating a second informationprocessing unit or a third information processing unit; controlling thereception of a request to send contents and a key and data foridentifying the second information processing unit or data foridentifying the third information processing unit, the request and thedata being supplied from the first information processing unit;controlling, if the data for identifying the second informationprocessing unit are received, the transmission of the request to sendthe contents and the key to the second information processing unit in aprocedure corresponding to the second information processing unit, and,if the contents and the key are received and the data for identifyingthe third information processing unit are received from the secondinformation processing unit, the transmission of the request to send thecontents and the key to the third information processing unit and thereception of the contents and the key from the third informationprocessing unit in a procedure corresponding to the third informationprocessing unit; and controlling the transmission of the contents andthe key to the first information processing unit.

In carrying out the invention and according to yet another aspectthereof, there is provided an information processing apparatuscomprising: an authentication means for authenticating a firstinformation providing unit; a transmission control means for controllingthe transmission of any one of a request to send contents and a key tothe first information providing unit, data for identifying a secondinformation providing unit for providing the contents and the key, anddata for identifying a third information providing unit for providingthe contents and the key; and a reception control means for controllingthe reception of the contents and the key supplied from the secondinformation providing unit or the third information providing unit tothe first information providing unit.

In the above-mentioned information processing apparatus, the firstinformation providing unit is a proxy server having a server licensedcompliant module and the second information providing unit and the thirdinformation providing unit are servers each including a contents serverand a key server and each having a different procedure in which contentsand its key are supplied.

In the above-mentioned information processing apparatus, the informationprocessing apparatus is a portable electronic device for reproducing thecontents.

The above-mentioned information processing apparatus has a downloadprogram capable of downloading contents from any of the secondinformation providing unit and the third information providing unit.

In carrying out the invention and according to a different aspectthereof, there is provided an information processing method comprisingthe steps of: authenticating a first information providing unit;controlling the transmission of any one of a request to send contentsand a key to the first information providing unit, data for identifyinga second information providing unit for providing the contents and thekey, and data for identifying a third information providing unit forproviding the contents and the key; and controlling the reception of thecontents and the key supplied from the second information providing unitor the third information providing unit to the first informationproviding unit.

In the above-mentioned information processing method, the firstinformation providing unit is a proxy server having a server licensedcompliant module and the second information providing unit and the thirdinformation providing unit are servers each having a contents server anda key server and each having a different procedure in which contents andits key are supplied.

In the above-mentioned information processing method, the method isexecuted by a portable electronic device for reproducing the contents.

In the above-mentioned information processing method, each of thereception controlling steps is executed by a download program capable ofdownloading contents from any of the second information providing unitand the third information providing unit.

In carrying out the invention and according to a still different aspectthereof, there is provided a program storage medium storing acomputer-readable program comprising: authenticating a first informationproviding unit; controlling the transmission of any one of a request tosend contents and a key to the first information providing unit, datafor identifying a second information providing unit for providing thecontents and the key, and data for identifying a third informationproviding unit for providing the contents and the key; and controllingthe reception of the contents and the key supplied from the secondinformation providing unit or the third information providing unit tothe first information providing unit.

The above and other objects, features and advantages of the presentinvention and the manner of realizing them will become more apparent,and the invention itself will best be understood from a study of thefollowing description and appended claims with reference to the attacheddrawings showing some preferred embodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects of the invention will be seen by reference tothe description, taken in connection with the accompanying drawing, inwhich:

FIG. 1 is a schematic diagram illustrating a configuration of aconventional digital data transmission system;

FIG. 2 is a schematic diagram illustrating a functional configuration ofthe conventional digital data transmission system;

FIG. 3 is a flowchart describing conventional processing in whichpersonal computer downloads contents from server and checks out thedownloaded contents to portable device;

FIG. 4 is a flowchart describing conventional processing in whichpersonal computer downloads contents from the server and checks out thedownloaded contents to portable device;

FIG. 5 is a flowchart describing conventional processing in whichpersonal computer downloads contents from server and checks out thedownloaded contents to portable device;

FIG. 6 is a flowchart describing conventional processing in whichpersonal computer downloads contents from server and checks out thedownloaded contents to portable device;

FIG. 7 is a schematic diagram illustrating one embodiment of a digitaldata transmission system associated with the present invention;

FIG. 8 is a block diagram illustrating a configuration oftelephone-integrated terminal device;

FIG. 9 is a block diagram illustrating a configuration of proxy server;

FIG. 10 is a schematic diagram illustrating a functional configurationof the digital data transmission system associated with the presentinvention;

FIG. 11 is a flowchart describing processing in whichtelephone-integrated terminal device downloads contents from server;

FIG. 12 is a flowchart describing processing in whichtelephone-integrated terminal device downloads contents from server;

FIG. 13 is a flowchart describing processing in whichtelephone-integrated terminal device downloads contents from server;

FIG. 14 is a flowchart describing processing in whichtelephone-integrated terminal device downloads contents from server;

FIG. 15 is a schematic diagram illustrating another functionalconfiguration of the digital data transmission system associated withthe present invention;

FIG. 16 is a flowchart describing processing in whichtelephone-integrated terminal device downloads contents from server; and

FIG. 17 is a flowchart describing processing in whichtelephone-integrated terminal device downloads contents from server.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

This invention will be described in further detail by way of examplewith reference to the accompanying drawings.

Referring to FIG. 7, there is shown one embodiment of a digital datatransmission system associated with the present invention. Withreference to FIG. 7, components similar to those previously describedwith FIG. 1 are denoted by the same reference numerals and theirdescriptions will be skipped.

A telephone-integrated terminal device 501 is constructed so as todetachably accommodate a portable medium 3-1 and is connected to acommunication network 4 in a wireless manner. The telephone-integratedterminal device 501 downloads contents (compressed and encrypted inpredetermined schemes) received from a contents server 22-1 or 22-2 viathe communication network 4 and stores the downloaded contents into theloaded portable medium 3-1 along with data such as usage conditions ofthe contents.

On the basis of the usage condition data associated with the contents,the telephone-integrated terminal device 501 reproduces the contentsstored in the portable medium 3-1 and outputs the reproduction to aheadphone or speaker, not shown. Carrying about the telephone-integratedterminal device 501, its user can download any desired piece of contentsat any desired place to store the downloaded contents into the portablemedium 3-1. The user makes the telephone-integrated terminal device 501reproduce the contents stored in the portable medium 3-1 to listen tothe music for example pertinent to the contents by means of theheadphone for example.

A display operation instructing program 511 of the telephone-integratedterminal device 501 displays the contents-related data (for example,music titles or usage conditions) and, when the user inputs a downloadinstruction, makes a client LCM 512 to execute the correspondingprocessing. The client LCM 512 of telephone-integrated terminal device501 executes a sequence of processes (to be described later) fordownloading contents and its usage conditions for example, incooperation with a server LCM 514 of a proxy server 503.

In order to prevent the copyright violation due to noncompliantsecondary usage of contents, the client LCM 512 of thetelephone-integrated terminal device 501 is constituted by a group ofmodules which control the use of contents only when the usage conditionsspecified by the copyright holder of individual contents are satisfied,thereby preventing the copyright infringement based on noncompliantsecondary use of the contents. The usage conditions include reproductioncondition, copy condition of the contents, move condition, andaccumulation condition.

The client LCM 512 makes an authentication whether the portable medium3-1 loaded in the telephone-integrated terminal device 501 is compliantone and adds the usage condition data specified by the server 5 in asecure manner to the contents (encrypted), storing the contents into theportable medium 3-1. With the movement of contents, the client LCM 512generates necessary keys, manages them, and controls the communicationwith the connected portable medium 3-1.

A personal computer 502 is connected to the communication network 4. Thepersonal computer 502 converts the compression scheme and encryptionscheme of the contents received from the contents server 22-1 or 22-2 orread from a CD into a predetermined compression scheme and apredetermined encryption scheme such as DES, storing the resultingcontents. The personal computer 502 records the data of usage conditionsof the encrypted and recorded contents.

The display operation instructing program 11 of the personal computer502 displays the contents-associated data (for example, music titles orusage conditions) and, when a download instruction or a checkoutinstruction is inputted by the user, makes an LCM 513 of the personalcomputer 502 execute a corresponding download operation or checkoutoperation.

The LCM 513 of the personal computer 502 is constituted by a group ofmodules which control the use of contents only when the usage conditionsspecified by the copyright holder of individual contents are satisfied,thereby preventing the copyright infringement based on noncompliantsecondary use of the contents. The usage conditions include reproductioncondition of the contents, copy condition, move condition, andaccumulation condition.

The LCM 513 makes an authentication whether the portable device 2connected to the personal computer 502 is compliant one and executes acontents movement process for example in a secure manner. With themovement of contents, the LCM 513 generates necessary keys, managesthem, and encrypts contents or controls the communication with theconnected device.

Also, the LCM 513 checks the validity of the portable device 2. When theportable medium 3-2 is loaded, the portable device 2 checks the validityof the portable medium 3-2. If the portable device 2 and the portablemedium 3-2 are found valid, the LCM 513 adds the usage condition dataspecified by the server 5 to the contents (encrypted) and checks out theresultant contents to the portable medium 3-2. The portable device 2stores the contents checked out from the personal computer 502 into theloaded portable medium 3-2 along with the contents-associated data.

The LCM 513 of personal computer 502 checks out the encrypted recordedcontents to the connected potable device 2. The portable device 2 storesthe contents checked out from the personal computer 502 into the loadedportable medium 3-2 along with the contents-associated data.

If the proxy server 503 is available, a PC LCM 521 (constituted by partor all of the functionality of the LCM 513) of the personal computer 502executes a sequence of processes for downloading contents and its usageconditions in cooperation with the server LCM 514 of the proxy server503.

If the proxy server 503 is unavailable, the LCM 513 of the personalcomputer 502 authenticates a key server 21-1 or 21-2 as with the LCM 12to download contents and its usage conditions.

The proxy server 503 authenticates the key server 21-1 or 21-2 byexecuting the server LCM 514 in response to a request by thecross-authenticated telephone-integrated terminal device 501 or thecross-authenticated personal computer 502. After thecross-authentication with the key server 21-1 or 21-2, the proxy server503 receives a contents key from the key server 21-1 or 21-2 andsupplies the received contents key to the telephone-integrated terminaldevice 501 or the personal computer 502. Receiving the contents from thecontents server 22-1 or 22-2, the proxy server 503 supplies the receivedcontents to the telephone-integrated terminal device 501 or the personalcomputer 502.

When downloading contents and its contents key from the server 5-1, theproxy server 503 first receives the contents and then the contents key.When downloading contents and its key from the server 5-2, the proxyserver 503 first receives the contents key and then the contents.

The proxy server 503, regardless of whether it has downloaded contentsand its contents key from the server 5-1 or the server 5-2, supplies thereceived contents and contents key to the telephone-integrated terminaldevice 501 or the personal computer 502 in a same procedure (forexample, first transmitting the contents key and then the contents).

Downloading the contents and its contents key from the server 5-1 or theserver 5-2 via the proxy server 503, the telephone-integrated terminaldevice 501 or the personal computer 502 can receive the contents and itscontents key in the same procedure.

FIG. 8 shows a configuration of the telephone-integrated terminal device501. A CPU (Central Processing Unit) 601 executes programs stored in aROM (Read Only Memory) 602 or a RAM (Random Access Memory) 603. The ROM602, constituted by an EEPROM (Electrically Erasable Programmable ReadOnly Memory) or a flash memory, generally stores programs and basicallyfixed data of computational parameters to be used by the CPU 601. TheRAM 603, constituted by an SRAM (Static Random Access Memory) forexample, stores programs to be used by the CPU 601 in its execution andparameters which changes from time to time in the execution.

An input block 605, constituted by an input key or a microphone, isoperated by the user when inputting commands into the CPU 601 orinputting a voice. A display block 606, constituted by a liquid crystaldisplay device, displays various kinds of information in the form oftext or image.

An audio reproduction block 607 reproduces the voice data of the otherparty supplied from a communication block 608 or the contents suppliedfrom the portable medium 3-1 via an interface 609 and sounds thereproduced voice signal.

The communication block 608 connects to the public switched line network31 and stores in predetermined packets the data(for example, a contentssend request) supplied from the CPU 601 or the voice data of the usersupplied from the input block 605 and sends the packets via the publicswitched line network 31. Also, the communication block 608 outputs thedata(for example, contents) stored in received packets or the voice dataof the other party received via the public switched line network 31 tothe CPU 601, the RAM 603, the audio reproduction block 607, or theinterface 609.

The interface 609 stores the data supplied from the CPU 601, the RAM603, or the communication block 608 into the portable medium 3-1 andreads data such as contents from the loaded portable medium 3-1 tosupply the data to the CPU 601, the RAM 603, or the audio reproductionblock 607.

An interface 610 is connected to an externally attached drive 631. Thedrive 631 reads data or programs from a magnetic disk 641, an opticaldisk (including a CD-ROM) 642, a magneto-optical disk 643, or asemiconductor memory 644, which is loaded in the drive 631, and suppliesthese data or programs to the ROM 602 or the RAM 603 via the interface610 and a bus 604.

The components, the CPU 601 through the interface 610, areinterconnected by the bus 604.

FIG. 9 shows an internal configuration of the proxy server 503. A CPU651 executes various application programs (which will be detailed later)and an OS (Operating System). A ROM 652 generally stores programs andbasically fixed data of computational parameters to be used by the CPU651. A RAM 653 stores programs to be used by the CPU 651 in itsexecution and parameters which changes from time to time in theexecution. These are interconnected by a host bus 654 constituted by aCPU bus for example.

The host bus 654 is connected to an external bus 656 such as a PCI(Peripheral Component Interconnect/Interface) bus via a bridge 655.

A keyboard 658 is operated by the user when inputting commands into theCPU 651. A pointing device 659 is operated by the user when indicating apoint on a display monitor 660 or selecting items thereon. The displaymonitor 660, constituted by a liquid crystal display device or a CRT(Cathode Ray Tube), shows various information in text and image. A HDD(Hard Disk Drive) 661 drives a hard disk to record or read programs andinformation to be used by the CPU 651 to or from the hard disk.

A drive 662 reads data or programs stored on a magnetic disk 681, anoptical disk 682, a magneto-optical disk 683, or a semiconductor memory684, which is loaded in the drive 662, and supplies these data orprograms to the RAM 653 via the interface 657, the external bus 656, thebridge 655, and the host bus 654.

These components, the keyboard 658 through the drive 662, are connectedto the interface 657 which is connected to the CPU 651 via the externalbus 656, the bridge 655, and the host bus 654.

A communication block 663, connected to the communication network 4,stores data (for example, a contents key) supplied from the CPU 651 orthe HDD 661 into predetermined packets and send them over thecommunication network 4 and, at the same time, outputs the data (forexample, the contents ID) stored in received packets over the network 4to the CPU 651, the RAM 653, or the HDD 661.

The communication block 663 is connected to the CPU 651 via the externalbus 656, the bridge 655, and the host bus 654.

The following describes a functional configuration of the digital datatransmission system associated with the present invention with referenceto FIG. 10. With reference to FIG. 10, components similar to thosepreviously described with FIG. 2 are denoted by the same referencenumerals and therefore their descriptions will be skipped.

The telephone-integrated terminal device 501 executes a displayoperation instructing program 511, a client LCM 512, an IP communicationprogram 701, an ISP connection program 702, and a PHS/IMT communicationprogram 703.

The PHS/IMT communication program 703 makes communication via the publicswitched line network 31. The ISP connection program makes connection tothe ISP 32. The IP communication program 701 includes protocols such asHTTP 741 and WAP 742 and makes communication with the key server 21-1,the contents server 22-1, the shop server 23-1, the key server 21-2, thecontents server 222, the shop server 23-2, or the proxy server 503 viathe communication network 4.

The client LCM 512 is composed of a license management program 711, adownload program 712, and a format management program 713.

The license management program 711 manages the use of contents on thebasis of contents usage conditions and is composed of a usage conditionmanagement program 721, a server authentication program 722, and a PMauthentication program 723.

The usage condition management program 721 control the permission orprohibition of the reproduction of the contents stored in the portablemedium 3-1 and makes the portable medium 3-1 update the usage conditiondata stored in the portable medium 3-1 as the contents stored in theportable medium 3-1 is reproduced. The server authentication program 722authenticates the proxy server 503 via the communication network 4. ThePM authentication program 723 authenticates the portable medium 3-1 whenthe portable medium 3-1 is loaded in the telephone-integrated terminaldevice 501.

The download program 712 is composed of a key management program 724, acontents management program 725, a key information receiving program726, and a contents information receiving program 727.

The key management program 724 receives a contents key from the proxyserver 503 and manages the contents key by storing it into the portablemedium 3-1 in association with the corresponding contents. The keymanagement program 724 includes a receiving program 731 for receivingcontents keys from the proxy server 503.

The contents management program 725 receives contents (encrypted) andits usage conditions from the proxy server 503 and stores the receivedcontents and its usage conditions into the portable medium 3-1. Thereceiving program 732 of the contents management program 725 receivescontents and its usage conditions from the proxy server 503.

The key information receiving program 726 receives the URL identifyingthe key server 21-1 or the key server 21-2 for supplying the contentskey corresponding to the contents from the shop server 23-1 or 23-2. Thecontents information receiving program 727 receives the URL foridentifying the contents server 22-1 or 22-2 for supplying a desiredpiece of contents and the contents ID for identifying it from the shopserver 23-1 or 23-2.

The format management program 713 converts the encoding scheme andencryption scheme of the contents downloaded from the contents server22-1 or 22-2 into respective predetermined schemes. The formatmanagement program 713 is composed of a system identification program728 and a format conversion program 729.

The system identification program 728 identifies whether a particularpiece of contents has been downloaded from the server 5-1 or 5-2. Theformat conversion program 729 converts the encoding scheme andencryption scheme of contents.

The following describes a configuration of the proxy server 503. Theproxy server 503 executes the server LCM 514 and an IP communicationprogram 751.

The server LCM 514 includes a license management program 761 and asequence management program 762.

The license management program 761 includes a server authenticationprogram 781 for authenticating the key server 21-1 or 21-2 and a PDauthentication program 782 for authenticating the telephone-integratedterminal device 501.

The sequence management program 762 includes a key management program771, a contents management program 772, and a system identificationprogram 773.

The key management program 771 includes a key receiving program 783 forreceiving contents keys from the key server 21-1 or 21-2 via thecommunication network 4 and a key distribution program 784 fordistributing the received contents keys to the telephone-integratedterminal device 501 via the communication network 4.

The contents management program 772 includes contents receiving program785 for receiving contents from the contents server 22-1 or 22-2 via thecommunication network 4 and a contents distribution program 786 fordistributing the received contents to the telephone-integrated terminaldevice 501 via the communication network 4.

The system identification program 773 identifies, on the basis of thecontents ID supplied from the telephone-integrated terminal device 501,whether a particular piece of contents has been downloaded from theserver 5-1 or 5-2.

The IP communication program 751 includes protocols HTTP 787 and WAP 788and makes communication with the server 5-1 or 5-2 or thetelephone-integrated terminal device 501 via the communication network4.

The following describes a process in which the telephone-integratedterminal device 501 downloads contents from the server 5-1 withreference to the flowcharts shown in FIGS. 11 and 12. In step S2101, thePHS/IMT communication program 703 of the telephone-integrated terminaldevice 501 establishes communication with the public switched linenetwork 31. In step S2201, the ground station for example, not shown, ofthe public switched line network 31 establishes a connection with thetelephone-integrated terminal device 501.

In step S2102, the ISP connection program 702 of thetelephone-integrated terminal device 501 establishes a connection withthe ISP 32 via the connection between the telephone-integrated terminaldevice 501 and the public switched line network 31. In step S2301, theISP 32 establishes connection with the telephone-integrated terminaldevice 501 via the connection between the telephone-integrated terminaldevice 501 and the public switched line network 31.

The subsequent processes between the telephone-integrated terminaldevice 501 and the key server 21-1, the contents server 22-1, the shopserver 23-1 or the proxy server 503 are executed via the connectionbetween the telephone-integrated terminal device 501 and the ISP 32.

In step S2103, the IP communication program 701 of thetelephone-integrated terminal device 501 establishes IP communicationwith the shop server 23-1. In step S2401, the IP communication program124 of the shop server 23-1 establishes IP communication with the shopserver 23-1.

In step S2402, the contents-access program 123 of the shop server 23-1sends digital data for viewing (or for contents selection) to thetelephone-integrated terminal device 501 via the communication network4. In step S2104, a browser program, not shown, of thetelephone-integrated terminal device 501 displays the text or imagecorresponding to the received digital data onto the display block 606for viewing by the user. The browser program of the telephone-integratedterminal device 501 also makes the audio reproduction block 607reproduce the contents in a streaming reproduction manner for thetest-listening by the user or the contents-access program 123 of theshop server 23-1 search for a desired piece of contents on the basis ofa keyword inputted by the user, displaying the results on the displayblock 606.

The processes of steps S2402 and S2104 are repeated for a request by theuser of the telephone-integrated terminal device 501, until the userdetermines the contents to be purchased for example.

In step S2105, the browser program of the telephone-integrated terminaldevice 501 sends a purchase request to the shop server 23-1 via thecommunication network 4. In step S2403, the contents-access program 123of the shop server 23-1 receives the purchase request sent from thetelephone-integrated terminal device 501.

In step S2404, in response to the purchase order received in step S2403,a contents information sending program 122 of the shop server 23-1sends, to the telephone-integrated terminal device 501 via thecommunication network 4, the contents information including the URL ofthe contents server 22-1 for distributing the contents and the contentsID for identifying the contents. In step S2106, the contents informationreceiving program 727 of the telephone-integrated terminal device 501receives the contents information from the shop server 23-1.

In step S2405, the key information sending program of the shop server23-1 sends, to the telephone-integrated terminal device 501 via thecommunication network 4, the key information such as the URL of the keyserver 21-1 that distributes the contents key of the contents specifiedin the purchase request received in step S2403. In step S2107, the keyinformation receiving program 726 of the telephone-integrated terminaldevice 501 receives the key information sent from the shop server 23-1.

In step S2108, the IP communication program 701 of thetelephone-integrated terminal device 501 establishes IP communicationwith the proxy server 503 on the basis of the URL of the proxy server503 recorded in advance. In step S2501, the IP communication program 751of the proxy server 503 establishes IP communication with thetelephone-integrated terminal device 501.

In step S2109, the server authentication program 722 of the licensemanagement program 711 of the telephone-integrated terminal device 501authenticates the proxy server 503. In step S2502, the PD authenticationprogram 782 of the license management program 761 of the proxy server503 authenticates the telephone-integrated terminal device 501.

The cross-authentication processes between the telephone-integratedterminal device 501 and the proxy server 503 in step S2109 and stepS2502 are executed in a challenge and response scheme. As compared withthe cross-authentication between the key server 21-1 and the personalcomputer 1 in step S112 and step S602, the challenge response schemeneeds less computational load and therefore provides quick executionwith less computational performance and storage size. Thetelephone-integrated terminal device 501 and the proxy server 503 eachgenerate a temporary key from the response by a same computationaloperation and share the generated temporary key.

If the cross-authentication in steps S2109 and S2502 fails (namely, theother party of the cross-authentication is found invalid), the processof downloading the contents by the telephone-integrated terminal device501 ends without downloading the contents.

In step S2110, the contents management program 725 of thetelephone-integrated terminal device 501 sends the contents ID to theproxy server 503. In step S2503, the proxy server 503 receives thecontents ID supplied from the telephone-integrated terminal device 501.In step S2111, the key management program 724 of thetelephone-integrated terminal device 501 sends the key informationreceived in step S2107 to the proxy server 503. In step S2504, the proxyserver 503 receives the key information supplied from thetelephone-integrated terminal device 501.

In step S2505, on the basis of the contents ID received in step S2503, asystem identification program 773 of the proxy server 503 identifiesthat the contents and its contents key have been downloaded from theserver 5-1.

It should be noted that, in step S2110, the telephone-integratedterminal device 501 may send the URL of the contents server 22-1 alongwith the contents ID and, in step S2503, the proxy server 503 mayreceive the URL of the contents server 22-1 along with the contents ID.

In step S2506, on the basis of the identification result of step S2505,the IP communication program 751 of the proxy server 503 establishes IPcommunication with the contents server 22-1. In step S2601, the IPcommunication program 193 of the contents server 22-1 establishes IPcommunication with the proxy server 503.

In step S2507, the contents management program 772 of the proxy server503 sends the contents ID obtained in step S2503 to the contents server22-1 via the communication network 4. In step S2602, the contents server22-1 receives the contents ID supplied from the proxy server 503. Instep S2603, a contents distribution program 192 of the contents server22-1 reads the contents (encrypted) corresponding to the contents IDreceived in step S2602 from a contents storage program 191 anddistributes the contents to the proxy server 503 via the communicationnetwork 4.

In step S2508, a receiving program 785 of the contents managementprogram 772 of the proxy server 503 receives the contents supplied fromthe contents server 22-1.

In step S2509, on the basis of the identification result in step S2505,the IP communication program 751 of the proxy server 503 establishes IPcommunication with the key server 21-1. In step S2701, the IPcommunication program 155 of the key server 21-1 establishes IPcommunication with the proxy server 503.

In step S2510, the server authentication program 781 of the licensemanagement program 761 of the proxy server 503 authenticates the keyserver 21-1. In step S2702, the authentication program 151 of the keyserver 21-1 authenticates the proxy server 503.

For example, the key server 21-1 stores a master key KMSS in advance andthe proxy server 503 stores a private key KPCC and the ID of the proxyserver 503 beforehand. In addition, the proxy server 503 stores a masterkey KMCC in advance and the key server 21-1 stores the ID of the keyserver 21-1 and a private key KPSS.

The key server 21-1 receives the ID of the proxy server 503 therefromand applies a hash function to the received ID and the master key KMSSof the key server 211, generating a same key as the private key KPCC ofthe proxy server 503.

The proxy server 503 receives the ID of the key server 21-1 therefromand applies a hash function to the received ID and the master key KMCCof the proxy server 503, generating a same key as the private key KPSSof the key server 21-1. Consequently, the common key is shared betweenthe proxy server 503 and the key server 21-1. By use of these privatekeys, a temporary key is generated.

If the cross-authentication in step S2510 or S2702 fails (namely, theother party of the cross-authentication is found invalid), the downloadprocessing comes to an end.

In step S2511, the key management program 771 of the proxy server 503sends the contents ID obtained in step S2503 to the key server 21-1. Instep S2703, the key server 21-1 receives the contents ID supplied fromthe proxy server 503. In step S2704, the key distribution program 152 ofthe key server 21-1 reads the contents key stored in the key storageprogram 153 in association with the contents ID and sends the contentskey (encrypted by the temporary key shared between the key server 21-1and the proxy server 503) to the proxy server 503. In step S2512, thekey receiving program 783 of the key management program 771 of the proxyserver 503 receives the contents key sent from the key server 21-1.

In step S2513, the key distribution program 784 of the key managementprogram 771 of the proxy server 503 decrypts the contents key receivedin step S2512 by the temporary key shared between the key server 21-1and the proxy server 503 and then encrypts the contents key by thetemporary key shared between the telephone-integrated terminal device501 and the proxy server 503, sending the resultant contents key to thetelephone-integrated terminal device 501 over the communication network4. In step S2112, the receiving program 731 of the key managementprogram 724 of the telephone-integrated terminal device 501 receives thecontents key sent from the proxy server 503. The key management program724 decrypts the received contents key by the temporary key sharedbetween the telephone-integrated terminal device 501 and the proxyserver 503 and supplies the decrypted contents key to the key managementprogram 102 of the portable medium 3-1 to store the contents keytherein.

In step S2514, the contents distribution program 786 of the contentsmanagement program 772 of the proxy server 503 sends the encryptedcontents to the telephone-integrated terminal device 501 over thecommunication network 4. In step S2113, the receiving program 732 of thecontents management program 725 of the telephone-integrated terminaldevice 501 receives the contents supplied from the proxy server 503.

In step S2114, the PHS/IMT communication program 703 of thetelephone-integrated terminal device 501 disconnects the connection withthe public switched line network 31. In step S2202, the ground station,not shown of the public switched line network 31 disconnects theconnection with the telephone-integrated terminal device 501.

In step S2115, the format management program 713 of thetelephone-integrated terminal device 501 converts the format of thecontents received in step S2113. The contents management program 725sends the format-converted contents to the portable medium 3-1 via theinterface 609 and stores the contents in the contents management program103, upon which the download processing comes to an end.

The following describes a process of downloading contents by thetelephone-integrated terminal device 501 from the server 5-2 withreference to the flowcharts shown in FIGS. 13 and 14. The processes ofsteps 3101 through S3504 are executed by the server 5-2, the IPcommunication program 701, the ISP connection program 702, the PHS/IMPcommunication program 703, and the download program 712. These processesare the same as those of steps S2101 through S2504 and therefore theirdescriptions will be skipped.

In step S3505, on the basis of the contents ID received in step S3503,the system identification program 773 of the proxy server 503 identifiesthat the contents and its contents key have been downloaded from theserver 5-2.

In step S3506, on the basis of the identification result obtained instep S3505, the IP communication program 751 of the proxy server 503establishes IP connection with the key server 21-2. In step S3701, thekey server 21-2 establishes IP communication with the proxy server 503.

In step S3507, the server authentication program 781 of the proxy server503 authenticates the key server 21-2. In step S3702, the key server21-2 authenticates the proxy server 503.

The processes of steps S3507 and S3702 are the same as those of stepsS2510 and S2702.

If the authentication in step S3507 or S3702 fails (namely, the otherparty of the authentication is found invalid), the download processingcomes to an end.

In step S3508, the key management program 771 of the proxy server 503sends the contents ID obtained in step S3503 to the key server 21-2. Instep S3703, the key server 21-2 receives the contents ID supplied fromthe proxy server 503. In step S3704 the key server 21-2 reads thecontents key stored in associated with the contents ID and sends thecontents key (encrypted by the temporary key shared between the keyserver 21-2 and the proxy server 503) to the proxy server 503 over thecommunication network 4. In step S3509, the key receiving program 783 ofthe key management program 771 of the proxy server 503 receives thecontents key sent from the key server 21-2.

In step S3510, on the basis of the identification result obtained instep S3505, the IP communication program 751 of the proxy server 503establishes IP communication with the contents server 22-2. In stepS3601, the contents server 22-2 establishes IP communication with theproxy server 503.

In step 3511, the contents management program 772 of the proxy server503 sends the contents ID obtained in step S3503 to the contents server22-2 over the communication network 4. In step S3602, the contentsserver 22-2 receives the contents ID sent from the proxy server 503. Instep S3603, the contents server 22-2 reads the contents (encrypted)corresponding to the contents ID received in step S3602 and distributesthe contents to the proxy server 503 over the communication network 4.

In step S3512, the receiving program 785 of the contents managementprogram 772 of the proxy server 503 receives the contents sent from thecontents server 22-2.

The processes of steps S3512 through S3115 are the same as those ofsteps S2513 through S2115 and therefore their descriptions will beskipped.

Thus, by means of the proxy server 503, the telephone-integratedterminal device 501 can receive contents and its contents key in thesame procedure (for example, contents is received after the reception ofits contents key) regardless of whether contents and its contents keyare downloaded from the server 5-1 or the server 5-2.

The procedure described above with reference to the flowcharts of FIGS.11 through 14 can makes it shorter in time for the telephone-integratedterminal device 501 kept connected to the public switched line network31 than the processing in which the proxy server 503 converts theencoding and encryption schemes of contents (to be described withreference to the flowcharts shown in FIGS. 16 and 17).

The following describes another functional configuration of the digitaldata transmission system associated with the present invention withreference to FIG. 15. With reference to FIG. 15, components similar tothose previously described with FIG. 10 are denoted by the samereference numerals and therefore their descriptions will be skipped.

A telephone-integrated terminal device 501 shown in FIG. 15 does nothave the format management program 713 which is arranged in theabove-mentioned embodiment.

A server LCM 514 of a proxy server 503 shown in FIG. 15 includes aformat management program 801 in addition to a license managementprogram 761 and a sequence management program 762.

The format management program 801 converts the encoding and encryptionschemes of the contents downloaded from a contents server 22-1 or 22-2.The format management program 801 consists of a system identificationprogram 811 and a format conversion program 812.

The system identification program 811 identifies whether a particularpiece of contents has been downloaded from the server 5-1 or the server5-2. The format conversion program 812 converts the encoding andencrypting schemes of downloaded contents into predetermined encodingand encryption schemes.

The following describes a process of downloading contents by thetelephone-integrated terminal device 501 and the proxy server 503 whoseconfiguration are shown in FIG. 15 from the server 5-2, with referenceto the flowcharts shown in FIGS. 16 and 17.

The processes of steps S4101 through S4512 are the same as those ofsteps S3101 through S3512 and therefore their descriptions will beskipped.

In step S4513, the format management program 801 of the proxy server 503converts the format of the contents received in step S4512.

In step S4514, the key distribution program 784 of the key managementprogram 771 of the proxy server 503 decrypts the contents key receivedin step S4509 by the temporary key shared between the key server 21-2and the proxy server 503 and then encrypts by the temporary key sharedbetween the telephone-integrated terminal device 501 and the proxyserver 503, sending the resultant contents key to thetelephone-integrated terminal device 501 over the communication network4. In step S4112, the receiving program 731 of the key managementprogram 724 of the telephone-integrated terminal device 501 receives thecontents key sent from the proxy server 503. The key management program724 decrypts the received contents key by the temporary key sharedbetween the telephone-integrated terminal device 501 and the proxyserver 503 and supplies the decrypted contents key to the key managementprogram 102 of the portable medium 3-1, the contents key being stored inthe key management program 102.

In step S4515, the contents distribution program 786 of the contentsmanagement program 772 of the proxy server 503 sends the encryptedcontents to the telephone-integrated terminal device 501 via thecommunication network 4. In step S4113, the receiving program 732 of thecontents management program 725 of the telephone-integrated terminaldevice 501 receives the contents sent from the proxy server 503. Thecontents management program 725 supplies the received contents (havingconverted format) to the portable medium 3-1 over the interface 609, thecontents being stored in the contents management program 103.

In step S4114, the PHS/IMT communication program 703 of thetelephone-integrated terminal device 501 disconnects the connection withthe public switched line network 31. In step S4202, a ground station,not shown, of the public switched line network 31 for exampledisconnects the connection with the telephone-integrated terminal device501, upon which the download processing comes to an end.

It should be noted that the process of receiving the contents and itscontents key from the server 5-1 is executed in a procedure in which,after the proxy server 503 receives contents from the server 5-1, thecontents key is received by the server 5-1.

Thus, the proxy server 503 can convert the encoding and encryptingschemes of the contents received from the server 5-1 or 5-2 and supplythe resultant contents to the telephone-integrated terminal device 501.In this case, the telephone-integrated terminal device 501 need not havethe programs for converting the contents encoding and encryptingschemes. Therefore, the telephone-integrated terminal device 501 canreceive contents faster with less computational power and storage sizethan the embodiment shown in FIG. 10.

In the above, contents has been described to be music data. It will beapparent to those skilled in the art that contents may also be stillpicture data, moving picture data, text data, or a program.

In the above, the telephone-integrated terminal device 501 or thepersonal computer 502 download contents. It will be apparent to thoseskilled in the art that a mobile telephone, a PDA (Personal DigitalAssistant), a digital video cassette recorder having communication andimaging capabilities, an electronic notepad having communicationcapabilities, or a portable personal computer may download contents, inaddition to the telephone-integrated terminal device 501 and thepersonal computer 502.

In the above, the telephone-integrated terminal device 501 makesnecessary communication by means of PHS or IMT. It will be apparent tothose skilled in the art that the telephone-integrated terminal device501 alternatively may make communication by means of W-CDMA (CodeDivision Multiple Access), satellite communication, satellitebroadcasting, PSTN (Public Switched Telephone Network), xDSL (x DigitalSubscriber Line), ISDN (Integrated Services Digital Network), or aprivate network.

The above-mentioned sequences of processes can be executed by hardwareor software. The execution by software is supported by a computer inwhich the programs constituting the software are installed in adedicated hardware device beforehand or by a general-purpose personalcomputer capable of executing various capabilities in which theseprograms are installed from the program storage medium.

The program storage medium for storing computer-readable and executableprograms may be a package medium constituted by the magnetic disk 641 or681 (including floppy disk), the optical disk 642 or 682 (includingCD-ROM (Compact Disk-Read Only Memory) and DVD (Digital VersatileDisk)), the magneto-optical disk 643 or 683 (including MD (Mini Disk)),or the semiconductor memory 644 or 684 or the ROM 602 or 652, or the HDD661 on which the programs are stored temporarily or permanently as shownin FIG. 8 or 9. Programs are stored in the program storage medium fromwired or wireless communication media such as a local area network, theInternet, and digital satellite broadcasting through the communicationblock 608 or 663 as required.

It should be noted that the steps describing the programs to be storedin the program storage medium are not only executed in a time-dependentmanner in the order described, but also in parallel or in a discretemanner.

It should also be noted that the system as used herein denotes an entireapparatus constituted by a plurality of component units.

In the information providing apparatus recited in claim 1, theinformation providing method recited in claim 5, and the program storagemedium recited in claim 9, a first information processing unit isauthenticated; a second information processing unit or a thirdinformation processing unit is authenticated; the reception of a requestto send contents and a key and data for identifying the secondinformation processing unit or data for identifying the thirdinformation processing unit is controlled, the request and the databeing supplied from the first information processing unit; if the datafor identifying the second information processing unit are received, thetransmission of the request to send the contents and the key to thesecond information processing unit in a procedure corresponding to thesecond information processing unit is controlled, and, if the contentsand the key are received and the data for identifying the thirdinformation processing unit are received from the second informationprocessing unit, the transmission of the request to send the contentsand the key to the third information processing unit and the receptionof the contents and the key from the third information processing unitin a procedure corresponding to the third information processing unitare controlled; the transmission of the contents and the key to thefirst information processing unit is controlled.

In the information processing apparatus recited in claim 10, theinformation processing method recited in claim 14, and the programstorage medium recited in claim 18, a first information providing unitis authenticated; a the transmission of any one of a request to sendcontents and a key to the first information providing unit, data foridentifying a second information providing unit for providing thecontents and the key, and data for identifying a third informationproviding unit for providing the contents and the key is controlled; andthe reception of the contents and the key supplied from the secondinformation providing unit or the third information providing unit tothe first information providing unit is controlled.

While the preferred embodiments of the present invention have beendescribed using specific terms, such description is for illustrativepurposes only, and it is to be understood that changes and variationsmay be made without departing from the spirit or scope of the appendedclaims.

1. An information providing apparatus comprising: a first authenticationmeans for authenticating a first information processing unit; a secondauthentication means for authenticating a second information processingunit or a third information processing unit; a reception control meansfor controlling the reception of a request to send contents and a keyand data for identifying said second information processing unit or datafor identifying said third information processing unit, said request andsaid data being supplied from said first information processing unit; acommunication control means for controlling, if said data foridentifying said second information processing unit are received, thetransmission of said request to send said contents and said key to saidsecond information processing unit in a procedure corresponding to saidsecond information processing unit, and, (the transmission of) saidcontents and said key, and if said data for identifying said thirdinformation processing unit are received from said second informationprocessing unit, the transmission of said request to send said contentsand said key to said third information processing unit and the receptionof said contents and said key from said third information processingunit in a procedure corresponding to said third information processingunit; and a transmission control means for controlling the transmissionof said contents and said key to said first information processing unit.2. The information providing apparatus according to claim 1, furthercomprising: a conversion means for converting at least one of a encodingscheme and an encryption scheme in which said contents is encoded andencrypted into one of a predetermined encoding scheme and apredetermined encryption scheme.
 3. The information providing apparatusaccording to claim 1, wherein said first information processing unit isa portable electronic device for reproducing said contents and saidsecond information processing unit and said third information processingunit are servers each including a contents server and a key server andeach having a different procedure in which contents and its key aresupplied.
 4. The information providing apparatus according to claim 1,further comprising a server licensed compliant module which isconstituted as a proxy server.
 5. An information providing methodcomprising the steps of: authenticating a first information processingunit; authenticating a second information processing unit or a thirdinformation processing unit; controlling the reception of a request tosend contents and a key and data for identifying said second informationprocessing unit or data for identifying said third informationprocessing unit, said request and said data being supplied from saidfirst information processing unit; controlling, if said data foridentifying said second information processing unit are received, thetransmission of said request to send said contents and said key to saidsecond information processing unit in a procedure corresponding to saidsecond information processing unit and said contents and said key, and,if said data for identifying said third information processing unit arereceived from said second information processing unit, the transmissionof said request to send said contents and said key to said thirdinformation processing unit and the reception of said contents and saidkey from said third information processing unit in a procedurecorresponding to said third information processing unit; and controllingthe transmission of said contents and said key to said first informationprocessing unit.
 6. The information providing method according to claim5, further comprising the step of: converting at least one of a encodingscheme and an encryption scheme in which said contents is encoded andencrypted into one of a predetermined encoding scheme and apredetermined encryption scheme.
 7. The information providing methodaccording to claim 5, wherein said first information processing unit isa portable electronic device for reproducing said contents and saidsecond information processing unit and said third information processingunit are servers each including a contents server and a key server andeach having a different procedure in which contents and its key aresupplied.
 8. The information providing method according to claim 5,wherein said method is executed by a proxy server including a serverlicensed compliant module.
 9. A program storage medium storing acomputer-readable program comprising the steps of: authenticating afirst information processing unit; authenticating a second informationprocessing unit or a third information processing unit; controlling thereception of a request to send contents and a key and data foridentifying said second information processing unit or data foridentifying said third information processing unit, said request andsaid data being supplied from said first information processing unit;controlling, if said data for identifying said second informationprocessing unit are received, the transmission of said request to sendsaid contents and said key to said second information processing unit ina procedure corresponding to said second information processing unit andsaid contents and said key, and, if said data for identifying said thirdinformation processing unit are received from said second informationprocessing unit, the transmission of said request to send said contentsand said key to said third information processing unit and the receptionof said contents and said key from said third information processingunit in a procedure corresponding to said third information processingunit; and controlling the transmission of said contents and said key tosaid first information processing unit.
 10. An information processingapparatus comprising: an authentication means for authenticating a firstinformation providing unit; a transmission control means for controllingthe transmission of any one of a request to send contents and a key tosaid first information providing unit, data for identifying a secondinformation providing unit for providing said contents and said key, anddata for identifying a third information providing unit for providingsaid contents and said key; and a reception control means forcontrolling the reception of said contents and said key supplied fromsaid second information providing unit or said third informationproviding unit to said first information providing unit.
 11. Theinformation processing apparatus according to claim 10, wherein saidfirst information providing unit is a proxy server having a serverlicensed compliant module and said second information providing unit andsaid third information providing unit are servers each including acontents server and a key server and each having a different procedurein which contents and its key are supplied.
 12. The informationprocessing apparatus according to claim 10, wherein said informationprocessing apparatus is a portable electronic device for reproducingsaid contents.
 13. The information processing apparatus according toclaim 10, having a download program capable of downloading contents fromany of said second information providing unit and said third informationproviding unit.
 14. An information processing method comprising thesteps of: authenticating a first information providing unit; controllingthe transmission of any one of a request to send contents and a key tosaid first information providing unit, data for identifying a secondinformation providing unit for providing said contents and said key, anddata for identifying a third information providing unit for providingsaid contents and said key; and controlling the reception of saidcontents and said key supplied from said second information providingunit or said third information providing unit to said first informationproviding unit.
 15. The information processing method according to claim14, wherein said first information providing unit is a proxy serverhaving a server licensed compliant module and said second informationproviding unit and said third information providing unit are serverseach having a contents server and a key server and each having adifferent procedure in which contents and its key are supplied.
 16. Theinformation processing method according to claim 14, wherein said methodis executed by a portable electronic device for reproducing saidcontents.
 17. The information processing method according to claim 14,wherein each of said reception controlling steps is executed by adownload program capable of downloading contents from any of said secondinformation providing unit and said third information providing unit.18. A program storage medium storing a computer-readable programcomprising: authenticating a first information providing unit;controlling the transmission of any one of a request to send contentsand a key to said first information providing unit, data for identifyinga second information providing unit for providing said contents and saidkey, and data for identifying a third information providing unit forproviding said contents and said key; and controlling the reception ofsaid contents and said key supplied from said second informationproviding unit or said third information providing unit to said firstinformation providing unit.